<script>

//1、（常规）先指定回调函数，后改变状态和指定数据
new Promise((resolve, reject) => {
    setTimeout(() => {
        resolve(1) //2）后改变状态和指定数据,然后执行回调函数
    }, 0)
}).then(    //1）先指定回调函数，然后保存起来
    value => {console.log('value', value)},
    reason => {}
)

//2、先改变状态和指定数据，后指定回调函数
new Promise((resolve, reject) => {
    resolve(2) //1）先改变状态和指定数据
}).then(    //2）后指定回调函数，然后异步执行回调函数
    value => {console.log('value', value)},
    reason => {}
)

</script>